home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / lang / c-part1 / 9948 < prev    next >
Encoding:
Text File  |  1996-08-05  |  1.3 KB  |  45 lines

  1. Newsgroups: comp.lang.c
  2. Path: metropolis.nl!news
  3. From: Wilfred van Breda <wbreda@ib.com>
  4. Subject: Length of text on printers in Windows
  5. X-Nntp-Posting-Host: ppp0-131.metropolis.nl
  6. Content-Type: text/plain; charset=us-ascii
  7. Message-ID: <3147E497.13ED@ib.com>
  8. Sender: news@news.metropolis.nl (usenet)
  9. Content-Transfer-Encoding: 7bit
  10. Organization: Tree Star Automation
  11. Mime-Version: 1.0
  12. Date: Thu, 14 Mar 1996 09:19:19 GMT
  13. X-Mailer: Mozilla 2.0 (Win95; I)
  14.  
  15. I have a problem calculating the correct length of a line of text 
  16. in Windows. When I want to calculate the length I consistently get
  17. the width of the text as appears on screen and not as it appears
  18. on paper. I need this information to determine if a line of text 
  19. will fit on paper so I can take appropriate action if it does not.
  20.  
  21. The code I use is:
  22.  
  23.   hdc = GetPrinterIC();
  24.  
  25.   MapModePrevious = SetMapMode(hdc, MM_TEXT);
  26.  
  27.   hfont = CreateFont(-pointsize,0,0,0,weight,italic,0,0,0,0,0,0,0,font);
  28.   hfontold=SelectObject(hdc,hfont);
  29.  
  30.   dwExtent = GetTextExtent(hdc, text, textlen);
  31.  
  32.   wTextWidth = LOWORD(dwExtent);
  33.  
  34.   SetMapMode(hdc, MapModePrevious);
  35.   SelectObject(hdc,hfontold);
  36.   DeleteObject(hfont);
  37.   DeleteDC(hdc);
  38.  
  39.  
  40. The font I want to use is either Arial or Times New Roman. 
  41.  
  42. Help would be much appreciated.
  43.  
  44. Wilfred van Breda
  45.